home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-02-27 | 58.7 KB | 1,531 lines |
- % SUBJECT: OS-CLI Doku, 27.2.1991 (Version 1.0u)
- %
- % Zeichensatzwahl:
- % \rm : computer modern roman style,
- % normaler Text
- % \sf : sans serif style,
- % Environmentvariablen sowie Produktbezeichnungen (z.B. ST)
- % \tt : type writer style,
- % Pfade, Dateinamen, Beispiele (eingegeben Befehle, Ausgaben)
- % \em : emphasized bzw. italics style,
- % Variablen in Syntaxbeschreibung, sowie allg. hervorheben
-
- \documentstyle[titlepage,german]{article}
- \pagestyle{headings}
- \parindent0em \parskip2ex plus0.5ex minus0.5ex
- \newcommand{\bsl}{$\backslash$}
-
- %\sloppy
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \begin{document}
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \title{
- Der Kommandozeileninterpreter\\
- Version 1.0u}
- \author{
- Oliver Scholz}
- \date{
- Februar 1991}
- \maketitle
- \newpage
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \pagenumbering{roman}
- \tableofcontents\clearpage
- \newpage
- \pagenumbering{arabic}
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{In eigener Sache}
- Lieber Benutzerin, lieber Benutzer!
-
- Das vorliegende Programm ist {\em SHAREWARE}. Das bedeutet, da\ss\ es
- weiterkopiert werden kann und soll! Man kann es allen seinen Freunden
- weitergeben und die wieder ihren Freunden u.s.w.
- Es d"urfen aber nur {\bf alle} Dateien komplett kopiert werden, d.h.
-
- \begin{tabular}{l|l}
- {\tt COMMAND.PRG} & Ausf"uhrbare Programmdatei\\
- {\tt COMMAND.TEX} & \LaTeX{}-Version dieser Anleitung\\
- {\tt COMMAND.TXT} & ASCII-Version dieser Anleitung\\
- {\tt REVISION.TXT} & Entwicklungsgeschichte\\
- \end{tabular}
-
- Es darf in den Dateien nichts ver"andert werden! Ausgenommen sind
- Layout\-"anderungen beim Ausdruck der Textdateien. Auf Wunsch kann bei
- mir auch noch eine englische "Ubersetzung der Textdateien bestellt
- werden.
-
- Wer das Programm benutzt sollte mir 30~DM "uberweisen, als Anerkennung
- f"ur meine M"uhe. Damit werdet ihr automatisch registrierter Benutzer
- und k"onnt euch bei auftretenden Problemen und Fragen schriftlich an mich
- wenden. Registrierte Benutzer bekommen jederzeit gegen eine formatierte
- 3,5" Diskette und einen selbstadressierten, frankierten R"uckumschlag
- die neueste Version.
-
- Ohne mein (schriftliches) Einverst"andnis darf das Programm nicht in einen
- Public Domain Vetrieb aufgenommen werden. Denn wer f"ur ein Programm schon
- 10--15 DM plus Porto und Nachnahme bezahlt hat, sieht nicht ein, sich auch
- noch f"ur 30 DM registrieren zu lassen.
-
- Dieses Programm ist im Laufe von eineinhalb Jahren
- entstanden und ich habe unz"ahlige Stunden daran gearbeitet.
- Darum m"ochte ich darum bitten, mir obigen Betrag auch zu "uberweisen,
- wenn ihr mit diesem Programm arbeitet.
-
- Das Programm ist zu 100\% in Assembler geschrieben. Das erkl"art
- seine Geschwindigkeit, aber auch seine Kompaktheit. Schlie\ss{}lich sind
- "uber 60 Befehle eingebaut, d.h.~es fallen bei diesen Befehlen keine Ladezeiten
- an.
- Und nicht jeder hat 2 oder 4 Megabytes und will davon "uber 100 KB f"ur eine
- riesige, langsame Shell verbraten, nur weil diese in C geschrieben ist und sich
- enorme Hashtables anlegt. Der CLI ist unter 32K lang und reserviert sich auch
- nicht viel mehr. Nur einige KBytes f"ur die Alias und Environments.
-
- Mein Dank gilt hier Marcus, der diese Anleitung ge\TeX{}t und auch sonst
- mit konstruktiver Kritik nicht gespart hat.
-
- Den Assembler, mit dem der CLI geschrieben ist, habe ich auch selbst
- entwickelt, und wenn das Sharewarekonzept klappt, mache ich den auch zu
- Shareware. Also noch ein Grund, sich registrieren zu lassen.
- Helft mit, das Sharewarekonzept zu einem Erfolg zu machen, wie in den USA.
-
- Meine Bankverbindung:
-
- \begin{center}
- \parbox{5cm}{Postgiroamt 2000 Hamburg\\
- Bankleitzahl 200 100 20\\
- Kontonummer 3457 42-203}
- \end{center}
-
- Vergesst bitte nicht, euren Namen, Adresse und das Stichwort CLI mit auf
- das "Uberweisungsformular zu schreiben, sonst wei\ss\ ich nicht, woher das
- Geld gekommen ist.
-
- Ihr k"onnt das Geld auch in einen Umschlag stecken:
-
- \begin{center}
- \parbox{5cm}{Oliver Scholz\\
- Garstedter Weg 226\\
- Postfach 61 02 29\\
- 2000 Hamburg 61}
- \end{center}
-
- Meine Telefonnummer gebe ich am besten gar nicht erst an, weil ich ohnehin
- fast nie zuhause bin, und auch nicht morgens um sieben schon von den ersten
- Leuten aus dem Bett geholt werden m"ochte. Bitte versteht das.
-
- Fast h"atte ich's vergessen:
-
- {\sc Disclaimer / Haftungsausschluss}:
-
- {\sf
- Das Programm wurde sorgf"altig entwickelt und getestet. Trotzdem sind, wie
- es bei Software "ublich ist, Fehler nicht auszuschlie\ss{}en. Der Autor
- sieht sich daher gezwungen, darauf hinzuweisen, da\ss\ weder Garantie f"ur
- das fehlerfreie Funktionieren dieses Programmes "ubernommen werden kann,
- noch f"ur irgendwelche Sch"aden, die aus Fehlern im Programm oder durch
- Fehlbedienung entstehen, gehaftet wird.
- }
-
- Mit dem Starten des Programmes werden diese Bedingungen anerkannt.
- So, und jetzt viel Spass mit dem Programm.
-
- Hamburg im Dezember 1990 \hfill {\sl Oliver Scholz}
-
- \newpage
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Einleitung}
- Neben dem {\sf GEM}-Desktop stellt ein Kommandozeileninterpreter (im folgenden
- kurz CLI, f"ur {\em command line interpreter}\/ genannt) eine weitere
- M"oglichkeit dar, mit dem {\sf ST} zu kommunizieren. Hierbei werden die
- Kommandos nicht mit der Maus angew"ahlt, sondern die Befehle mit Namen
- eingegeben.
-
- Es werden dabei zwei verschiedene Arten von Befehlen unterschieden:
- Residente und nichtresidente Befehle. Die residenten Befehle sind im CLI
- eingebaut, d.h.~sie stehen nach dem Laden unmittelbar zur Verf"ugung.
- Nichtresidente Befehle dagegen befinden sich auf Diskette bzw.~Festplatte und
- werden erst von dort geladen. Der Vorteil dabei ist, da\ss\ Befehle, die der
- CLI nicht enth"alt, selbst geschrieben werden k"onnen, und somit der CLI quasi
- erweitert werden kann.
- Ein weiterer Vorteil eines CLI ist die M"oglichkeit Batchdateien abzuarbeiten,
- d.h.~festgelegte Kommandofolgen mit einem Befehl abarbeiten zu lassen.
-
- Die Benutzung der, vom {\sf TOS} unterst"utzten, Environmentvariablen ist
- beim Arbeiten mit dem Desktop leider nicht m"oglich. Dies ist schade, denn
- sie bieten dem Benutzer u.a.~die M"oglichkeit seine pers"onliche
- Benutzerumgebung besser zu strukturieren. Ein weiterer Vorteil eines CLI ist
- also, da\ss\ eben diese Environmentvariablen problemlos definier- und
- ansprechbar sind.
-
- \newpage
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Das Arbeiten mit dem CLI}
- Auch wenn zwischen residenten und nichtresidenten Befehlen unterschieden wird,
- ist dieser Unterschied f"ur den Benutzer kaum merklich. Erst wenn die Diskette
- bzw. Festplatte anl"auft, merkt man, da\ss\ ein Befehl nichtresident ist.
- Nach dem Starten meldet sich der CLI mit dem sogenannten Prompt, der z.B.~so
- aussehen k"onnte: `\verb"C:>"'.
- Wann immer der CLI einen Prompt ausgibt, ist er bereit einen Befehl
- entgegenzunehmen. Dieser Prompt kann aber auch umdefiniert werden. Siehe
- dazu Abschnitt \ref{prompt}.
-
- Eine Kommandozeile besteht aus einem Befehl und optionalen Parametern, die
- voneinander durch ein oder mehrere Leerzeichen getrennt sind. Zun"achst testet
- der CLI, ob es sich bei dem Befehl um einen residenten Befehl handelt. Ist das
- der Fall, so wird der Befehl sofort ausgef"uhrt. Handelt es sich jedoch um
- einen nicht eingebauten Befehl, so wird auf dem aktuellen Verzeichnis nach
- einer Datei gleichen Namens gesucht, und diese geladen.
- Wurde keine Extension angegeben, so versucht der CLI zun"achst die Extension
- {\tt .PRG}, dann der Reihe nach {\tt .TOS}, {\tt .TTP}, {\tt .APP} und
- schlie\ss{}lich {\tt .BAT}.
- Hatte keiner dieser Versuche Erfolg, so wird die Meldung
- \begin{verbatim}
- Command or File not found!
- \end{verbatim}
- ausgegeben. Ist die Environmentvariable {\sf PATH} vorhanden, so werden auch die
- darin angegebenen Pfade durchsucht, bevor die Meldung ausgegeben wird.
- Gro\ss - /Kleinschreibung spielt bei der Befehlseingabe "ubrigens keine Rolle.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- \subsubsection{Die HOME--Abk"urzung in Pfaden}
- Das Tilde--Zeichen (`$\sim$') in einem Pfad steht f"ur das Homedirectory
- des jeweiligen Benutzers. Der CLI ersetzt dieses Zeichen also durch den
- Inhalt der Environmentvariablen {\sf HOME}. Zum Beispiel:
-
- \begin{verbatim}
- cp tst.txt ~\txt\
- \end{verbatim}
-
- w"are gleichbedeutend mit
-
- \begin{verbatim}
- cp tst.txt $HOME\txt\
- \end{verbatim}
-
- oder, wenn {\sf HOME}$=$e:\bsl usr\bsl olav\bsl , auch
-
- \begin{verbatim}
- cp tst.txt e:\usr\olav\txt\
- \end{verbatim}
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{Wildcards und Dateinamen unter {\sf TOS}}\label{wildcards}
- Wenn im folgenden von {\em wildcards}\/ die Rede ist, so ist damit
- die M"oglichkeit gemeint, Dateinamen unvollst"andig zu spezifizieren.
- Einzelne Zeichen in Dateinamen k"onnen gegen ein Fragezeichen (`{\tt ?}')
- und ganze Zeichenketten durch einen Stern (`\verb"*"') ersetzt werden.
- Dabei besteht ein Dateiname aus 8~Zeichen plus 3~optionalen, durch einen
- Punkt getrennten Zeichen, auch Extension genannt. Also beispielsweise
- {\tt filename.ext}.
-
- Es ist jedoch zu beachten, wie die beiden Wildcard-Zeichen von {\sf TOS}
- interpretiert werden. Wird in einem Dateinamen ein Stern verwendet, so
- f"ullt {\sf TOS} bis zum Punkt mit Fragezeichen auf, d.h.~alle Zeichen
- nach einem Stern bis zum Punkt werden ignoriert!
-
- Besondere Vorsicht bei der Verwendung von Wildcards ist also bei
- L"osch/-operationen geboten. Fatale Folgen k"onnte folgende Anweisung haben:
- \begin{verbatim}
- rm *abc.*
- \end{verbatim}
- {\sf TOS} interpretiert dies als
- \begin{verbatim}
- rm *.*
- \end{verbatim}
- Was das bedeuten kann, ist wohl jedem klar. Also Vorsicht!!!
-
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Batchdateien}
- Eine Batchdatei dient dazu, eine oft benutzte Befehlsfolge zu automatisieren.
- Soll z.B.~die Befehlsfolge
-
- \begin{verbatim}
- date
- time
- \end{verbatim}
-
- zusammen ausgef"uhrt werden, so
- schreibt man mit einem Editor eine Textdatei, die in der ersten Zeile
- {\tt date} und in der zweiten Zeile {\tt time} enth"alt. Nennt man diese
- Datei z.B.~{\tt DATETIME.BAT}, so wird bei Eingabe von
- {\tt datetime.bat} \linebreak automatisch die
- Befehlsfolge {\tt date time} ausgef"uhrt. Es ist auch m"oglich, einer
- Batchdatei max.~10 Parameter zu "ubergeben. Die Parameter werden in der
- Kommandozeile durch Leerzeichen voneinander getrennt. Der erste Parameter
- hei\ss{}t \%1, der zweite \%2, u.s.w.~und der zehnte \%0. Taucht in der
- Batchdatei dann \%1 auf, so wird \%1 durch den Parameter in der
- Kommandozeile ersetzt.
- Soll das `\%' dargestellt werden, so wird es einfach verdoppelt: \%\%. Lautet
- die Batchdatei {\tt TEST.BAT} etwa: {\tt echo \%1}, so bewirkt die Kommandozeile
- {\tt test Hallo}, da\ss\ auf dem Bildschirm `{\tt Hallo}' ausgegeben wird.
-
- Mit Batchdateien lassen sich z.B.~Compiler- /Linkerl"aufe automatisieren:
-
- \begin{verbatim}
- compiler %1.c %1.o
- linker %1.prg=startup,%1.o,lib
- \end{verbatim}
-
- Wird diese Batchdatei {\tt C.BAT} genannt, so bewirkt {\tt c test}, da\ss\ die
- Befehlsfolge
-
- \begin{verbatim}
- compiler test.c test.s
- linker test.prg=startup,test.o,lib
- \end{verbatim}
-
- abgearbeitet wird. Als besonderer Clou kann der CLI auch selbst eine
- Kommandozeile "ubernehmen.
- Diese kann dann z.B.~der Name einer Batchdatei sein, die nach dem Starten
- des CLI automatisch abgearbeitet wird. Damit ist es vom Desktop aus
- z.B.~m"oglich, {\tt COMMAND.PRG} als Anwendung anzumelden, und zwar mit der
- Extension {\tt .BAT}. Wird dann {\tt C.BAT} doppelt angeklickt, so startet der
- CLI automatisch und arbeitet die entsprechende Batchdatei ab.
-
- Wird keine Kommandozeile angegeben, so sucht der CLI nach einer Batchdatei
- {\tt AUTOEXEC.BAT}, die, sofern vorhanden, ebenfalls automatisch abgearbeitet
- wird. In dieser Datei kann man den CLI nach eigenen W"unschen konfigurieren.
-
- Des weiteren ist es m"oglich, rekursive Batchdateien zu verwenden, d.h.~eine
- Batchdatei kann eine weitere Batchdatei aufrufen, aber maximal f"unf Mal.
- Dabei kann auf Parameter "ubergeordneter Batchdateien zugegriffen werden.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Ein- /Ausgabe Umleitung}
- Die Ausgabe aller eingebauten Befehle erfolgt normalerweise auf den
- Bildschirm, aber es kann manchmal gew"unscht sein, Ausgaben auf den Drucker
- oder in eine Datei auszugeben.
-
- Dazu wird an das Ende der eigentlichen Kommandozeile `\verb">"{\em dateiname\/}'
- angef"ugt.
- Damit wird eine Datei {\em dateiname\/} angelegt und die Ausgabe des Befehls in
- diese Datei geschrieben. Als Dateiname sind hier auch {\tt AUX:} und {\tt PRN:}
- zul"assig. Damit kann die Ausgabe auch auf den Drucker bzw.~die serielle
- Schnittstelle umgelenkt werden. Ist die Datei {\em dateiname}\/ schon vorhanden,
- so wird sie gel"oscht, und eine neue Datei er"offnet. Soll an eine bestehende
- Datei angeh"angt werden, so wird statt `\verb">"{\em dateiname}' der Befehl
- `\verb">>"{\em dateiname\/}' an die Kommandozeile angeh"angt.
-
- Es ist auch m"oglich die Eingabe von einer Datei vorzunehmen. Dazu wird an die
- Kommandozeile `\verb"<"{\em dateiname}' angeh"angt. Hier ist wieder auch
- {\tt AUX:} zugelassen, nicht aber {\tt PRN:}.
-
- Benutzt ein Programm die Fehlerausgabe (stderr), so kann auch diese
- umgeleitet werden, und zwar mit `\verb"2>"{\em dateiname}' bzw. `\verb"2>>"{\em dateiname}'.
- Hier sind ebenfalls {\tt AUX:}, {\tt PRN:} und {\tt CON:} zul"assig.
-
- Allerdings funktioniert die I/O-Umlenkung nicht bei allen {\sf TOS}-Versionen
- fehlerfrei. Erst ab {\sf TOS} Version 1.4 klappt alles fehlerfrei.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Pipes}
-
- Eine Pipe ist ein sehr angenehmes Mittel zur Kommunikation zwischen
- verschiedenen Programmen. Oft ist es gew"unscht, die Ausgabe eines Programmes
- mit einem anderen Programm weiterzuverarbeiten. Eine Pipe gibt die Ausgabe,
- die ein Programm oder Befehl auf den Bildschirm (eigentlich `stdout')
- schreiben will, an ein anderes Programm weiter, das diese Ausgabe als
- Eingabe akzeptiert. Eine Pipe ist also eine Art gleichzeitige Ausgabe- und
- Eingabeumlenkung mit verschiedenen Programmen.
- Das Zeichen, das diese Umlenkung vornimmt, ist der senkrechte Strich (`\verb"|"').
- Soll z.B.~die Fehlerliste eines C-Compilers auf eine Datei umgelenkt werden,
- so kann diese recht lang werden, und meist h"angt ein Gro\ss{}teil der Fehler
- vom ersten Fehler ab. So kann man die Ausgabe durch eine Pipe an
- HEAD schicken, der nur die ersten paar Fehlermeldungen ausgibt:
-
- \begin{verbatim}
- compiler | head -25
- \end{verbatim}
-
- So schreibt der Compiler nur noch die ersten 25 Fehlermeldungen auf den
- Bildschirm. Man kann diese Ausgabe nun weiter in eine Datei umlenken:
-
- \begin{verbatim}
- compiler | head -25 >errors
- \end{verbatim}
-
- Nun enth"alt `errors' die ersten 25 Fehlermeldungen. Sollen die Fehlermeldungen
- nur seitenweise ausgegeben werden und der Compiler h"alt nicht an, so kann
- die Ausgabe an MORE geschickt werden:
-
- \begin{verbatim}
- compiler | more
- \end{verbatim}
-
- Nun erfolgt die Ausgabe seitenweise, als h"atte man:
-
- \begin{verbatim}
- compiler >temp
- more temp
- del temp
- \end{verbatim}
-
- eingegeben. Damit diese Umleitung funktioniert mu\ss\ die Ausgabe die in eine
- Pipe geschickt werden soll nat"urlich auch umlenkbar sein, d.h.~das Programm
- mu\ss\ seine Ausgaben auf `stdout' machen.
-
- Sollen mehrere Befehle in einer Kommandozeile ausgef"uhrt werden, ohne da\ss\
- eine Pipe ge"offnet wird, so m"ussen diese jeweils durch Semikolon getrennt
- werden.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Die Befehls Stopuhr}
-
- Wird eine Kommandozeile mit einem {\em Klammeraffen\/} (`\verb"@"') begonnen,
- so wird eine interne Stopuhr gestartet und die Zeit zur Ausf"uhrung der Zeile
- gestoppt. So kann bequem bestimmt werden, wie lange z.B.~ein
- Compiliervorgang dauert.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Die History-Funktion}
- Der CLI merkt sich immer die letzten 20 Befehlszeilen, und diese k"onnen "uber
- die Cursortasten (auf/ab) wieder abgerufen werden. Das ist sinnvoll, wenn man
- einen zuvor benutzten Befehl noch einmal benutzen m"ochte, ohne ihn neu
- eingeben zu m"ussen.
-
- Diese Befehle k"onnen auch ggf.~editiert werden. Eine weitere M"oglichkeit,
- die letzten Befehle zu sehen und
- auszuf"uhren, ist der Befehl HISTORY. Damit werden die letzten Befehle
- ausgegeben und jeweils mit einer Nummer versehen. Mittels Ausrufezeichen
- k"onnen diese Befehle nun angesprochen werden, und zwar auf zwei verschiedene
- Arten:
- \begin{enumerate}
-
- \item
- `{\tt !5}', w"urde z.B.~den 5.~Befehl ausf"uhren, der nach Starten des CLIs
- eingegeben wurde, sofern sich dieser Befehl noch im History-Puffer befindet.
-
- \item
- `{\tt !cc}' w"urde den letzten Befehl, der mit `cc' beginnt und
- sich noch im History-Puffer befindet, ausf"uhren.
-
- \end{enumerate}
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Editieren der Kommandozeile}
- Eingegebene Zeichen werden dort eingef"ugt, wo sich der Cursor befindet. Sind
- noch Zeichen rechts vom Cursor, so werden diese Zeichen nach rechts
- verschoben. Die Befehle, die zum Editieren der Kommandozeile zur Verf"ugung
- stehen, zeigt Tabelle \ref{cliedit}. Eine genauere Erl"auterung verlangt
- wohl die Dateinamensuche:
-
- Es ist manchmal ganz hilfreich, dem Rechner die Suche nach einem
- komplizierten Dateinamen zu "uberlassen. Dazu gibt man eine unvollst"andige
- Dateinamenspezifikation an und dr"uckt entweder die Insert-Taste oder
- die Tastenkombination Ctrl-U ({\em unknown\/}). Nun durchsucht der CLI
- das aktuelle Verzeichnis nach dem ersten Eintrag, der auf die angegebene
- Spezifikation pa\ss{}t und gibt ihn auf dem Schirm aus. Ist dies nicht der
- gew"unschte Eintrag, so kann man die Suche mit der Tastenkombination
- Ctrl-O ({\em other\/}) fortf"uhren. Kann kein weiterer Eintrag mehr
- gefunden werden, so bleibt der letzte gefundene Eintrag in der Kommandozeile
- stehen.
-
- Da das links vom Cursor stehende Wort als Suchspezifikation benutzt
- wird, bewirkt zweimaliges Dr"ucken der Insert-Taste bzw.~Ctrl-U, da\ss\ der
- erste gefundene Dateiname mit dem zweiten Dr"ucken als, nun vollst"andige,
- Suchspezifikation interpretiert wird. Dadurch wird i.d.R.~bei weiterer
- Suche mittels Ctrl-O kein anderer Dateiname mehr gefunden.
-
- Folgendes Beispiel soll diese sinnvollen Befehle verdeutlichen:
-
- Oft m"ochte man eine Datei l"oschen, will aber nicht den gesamten Namen
- eingeben. Angenommen, das aktuelle Verzeichnis enth"alt die folgenden Dateien:
- \begin{verbatim}
- BLAH.TXT
- BLAH1.TXT
- BLAH2.TXT
- \end{verbatim}
- Gesetzt den Fall, man m"ochte {\tt BLAH1.TXT} l"oschen. Nun reicht es
- beispielsweise aus, wenn man folgende Kommandozeile eingibt (ohne die
- {\sf RETURN} Taste zu bet"atigen):
- \begin{verbatim}
- del bl
- \end{verbatim}
- Dr"uckt man nun die Insert-Taste (oder Ctrl-U), so w"urde die unvollst"andige
- Spezifikation {\tt bl} durch {\tt BLAH.TXT} ersetzt werden.
- (In diesem Fall w"are ein Leerzeichen als Spezifikation auch ausreichend
- gewesen) F"uhrt man die Suche nun mit Ctrl-O fort, so wird als n"achstes
- {\tt BLAH.TXT} durch die gesuchte Datei {\tt BLAH1.TXT} ersetzt und man
- kann die erw"unschte Kommandozeile durch Bet"atigung der {\sf RETURN} Taste
- an den CLI weitergeben. "Ahnlich l"a\ss{}t sich diese Suche auch bei
- anderen Befehlen anwenden. Auf vielfachen Wunsch wird der gefundene Dateiname
- ab Version 1.0t in Kleinbuchstaben eingef"ugt.
-
- \begin{table}
- \begin{center}
- \renewcommand{\arraystretch}{2}
- \begin{tabular}{|l|l|}\hline
- Taste & Wirkung\\ \hline
- Pfeil links & bewegt den Cursor nach links\\
- Pfeil rechts & bewegt den Cursor nach rechts\\
- Backspace & l"oscht das Zeichen links vom Cursor\\
- Delete & l"oscht das Zeichen unter dem Cursor\\
- Insert & Starte Dateinamensuche\\
- Clr/Home & l"oscht die aktuelle Kommandozeile\\
- Ctrl-K & l"oscht bis zum Ende der Kommandozeile\\
- Ctrl-W & l"oscht das n"achste Wort\\
- Ctrl-A & springt an den Anfang der Kommandozeile\\
- Ctrl-E & springt an das Ende der Kommandozeile\\
- Ctrl-U & wie Insert ({\em unknown\/})\\
- Ctrl-O & N"achster Eintrag bei Dateinamensuche ({\em other\/})\\
- Ctrl-D & wie Delete\\
- Ctrl-X & wie Clr/Home\\
- Ctrl-B & wie Pfeil links ({\em backwards\/})\\
- Ctrl-F & wie Pfeil rechts ({\em forwards\/})\\
- Ctrl-P & wie Pfeil hoch ({\em previous\/})\\
- Ctrl-N & wie Pfeil runter ({\em next\/})\\ \hline
- \end{tabular}
- \renewcommand{\arraystretch}{1}
- \end{center} \caption{\label{cliedit} Befehle zum Editieren der Kommandozeile}
- \end{table}
- \pagebreak
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Environmentvariablen}
- Das Betriebssystem {\sf TOS} erm"oglicht es, sogenannte Environmentvariablen zu
- "ubergeben. In diesen Variablen k"onnen z.B.~Suchpfade oder andere
- Systemeinstellungen gespeichert werden. So kann bei manchen C-Compilern
- festgelegt werden, wo sich die Include-Dateien befinden.
- Eine Environmentvariable wird definiert, indem ihr ein neuer Inhalt
- zugewiesen wird. Ist sie schon vorhanden, wird der vorhandene Inhalt gel"oscht
- und durch den neuen Inhalt ersetzt.
-
- Nach dem Starten existiert in der Regel nur eine Variable, n"amlich
- {\sf PATH}. Diese Variable legt fest, wo der CLI nichtresidente Befehle
- sucht, wenn er sie im aktuellen Verzeichnis nicht findet. Der CLI legt nun
- zu dieser vom {\sf TOS} belegten Variable einige weitere Variablen
- an, und zwar {\sf HOME}, {\sf CWD}, {\sf STATUS}, {\sf DATE}, {\sf TIME} und
- u.U.~{\sf USERNAME} und {\sf USER}.
-
- In {\sf HOME} wird das Verzeichnis vermerkt, in dem der CLI gestartet wurde.
- In {\sf CWD} befindet sich immer das aktuelle Verzeichnis
- ({\em current working directory}\/), und in {\sf STATUS} wird der Exit-Code
- des letzten gestarteten Programmes vermerkt.
- {\tt STATUS=\ -33} z.B.~bedeutet, da\ss\ die angegebene Datei nicht
- gefunden wurde. {\sf DATE} und {\sf TIME} enthalten nach Aufruf der
- Befehle DATE bzw.~TIME unter Angabe der \mbox{`-s'} Option, das Systemdatum bzw.~die
- Systemzeit zum Zeitpunkt des Aufrufes.
-
- {\sf USER} wird von der LOGIN-Funktion angelegt und in Abschnitt \ref{login}
- erl"autert.
- Es ist nun praktisch, alle ausf"uhrbaren externen Befehle in einen Ordner zu
- kopieren, und dem CLI diesen Pfad mitzuteilen. Befindet sich dieser Ordner
- nun z.B.~im Wurzelverzeichnis von Laufwerk {\tt C:} und hei\ss{}t
- {\tt BIN}, so bewirkt
-
- \begin{verbatim}
- PATH=C:\,C:\BIN\
- \end{verbatim}
-
- da\ss\ nichtresidente Befehle zun"achst im aktuellen Verzeichnis, dann im
- Wurzelverzeichnis von {\tt C:} und dann im Ordner {\tt BIN} auf Laufwerk
- {\tt C:} gesucht wird. Bei der {\sf PATH} Variable k"onnen auch mehrere Pfade
- angegeben werden, diese m"ussen dann durch Kommata getrennt werden.
- Variablen k"onnen aber auch in Befehlen verwendet werden. Um den Inhalt einer
- Variablen zu benutzen, wird ihr ein Dollar-Zeichen (`\$') vorangestellt, mit
-
- \begin{verbatim}
- TEMP=$CWD
- \end{verbatim}
-
- speichert man das aktuelle Verzeichnis in der Variablen {\sf TEMP} ab.
- Zu einem sp"ateren Zeitpunkt kann dann mit
-
- \begin{verbatim}
- cd $TEMP
- \end{verbatim}
-
- wieder in dieses Verzeichnis gelangen. (Eine einfachere M"oglichkeit, sich
- ein Directory zu merken, bieten die Befehle PUSHD/POPD).
-
- Weitere M"oglichkeiten bieten auch die Befehle PRINTENV, SETENV und ADDENV.
-
- Das Plus-Zeichen (`$+$') erm"oglicht es, mit diversen Befehlen auf
- konkatenierte Environmentvariablen zuzugreifen. Ein Beispiel sollte
- erkl"aren, was damit gemeint ist:
-
- \begin{verbatim}
- del $HOME+$MYFILE
- \end{verbatim}
-
- l"oscht die Datei, die in {\sf MYFILE} enthalten ist, auf dem Pfad, der in
- HOME steht. D.h., die Inhalte der Variablen {\sf HOME} und {\sf MYFILE} werden
- aneinandergeh"angt und von der Kommandozeile "ubernommen.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Benutzung des CLI durch Programme}
- Der CLI unterst"utzt auch die {\sf GEMDOS}-Variable {\sf \_shell\_p} bei
- Adresse {\sf \$4F6}, hexadezimal.
- Dadurch wird es m"oglich, da\ss\ ein Programm das vom CLI aufgerufen wurde,
- dem CLI eine Kommandozeile zur Ausf"uhrung "ubergibt. Ein Beispiel daf"ur
- ist der {\sf system()} Befehl einiger C-Compiler. Schreibt man z.B.~ein
- MAKE-Programm so mu\ss\ man nicht den RM Befehl abfangen, sondern schickt
- ihn einfach mittels {\sf system()} an den CLI, und l"a\ss t ihn dort
- ausf"uhren.
- \newpage
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Der CLI und MiNT}
-
- Der CLI erkennt die Anwesenheit von MiNT im Speicher und ber"ucksichtigt das
- bei einigen Befehlen; so werden UID und GID beim Login automatisch gesetzt.
- Der VER Befehl erkennt die MiNT Version und gibt sie mit aus. DIR akzeptiert
- die Pseudolaufwerke {\sf Q:}, {\sf V:} und {\sf X:}. WAIT benutzt den
- {\sf S\_Yield()} Systemcall. Als neuer Befehl gibt PS die Proze"stabelle aus.
- Schlie"slich wird Multitasking unterst"utzt, indem ein Programm im Hintergrund
- gestartet wird, wenn das erste Zeichen einer Zeile das `\&' Zeichen ist.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \section{Das ARGV-Schema}
-
- Der CLI unterst"utzt das neue ARGV-Protokoll, um Programmen u.a.~den Zugriff
- auf den eigenen Namen zu erm"oglichen ({\sf ARGV[0]}). Leider vertragen sich einige
- Programme nicht mit dem neuen Protokoll. Daher kann man es mit einer neuen
- Environment Variablen ein- und ausschalten. Ist die Variable {\sf N127} vorhanden,
- so ist das ARGV Protokoll eingeschaltet. Der zugewiesene Wert ist dabei
- gleichg"ultig. Ist sie nicht vorhanden, so wird das Protokoll nicht unterst"utzt.
-
- %
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- \section{Die Befehle}
- Hier sollen nun die einzelnen eingebauten Befehle des CLI vorgestellt und
- erl"autert werden.
-
- % ~~~~~~~~~~~~~~~
- \subsection{ADDENV}
- Syntax: ADDENV {\em varname} {\em string}
-
- Mit ADDENV kann an eine Environmentvariable etwas angeh"angt werden.
- {\em varname\/} ist dabei der Name der Variable, und {\em string}\/ wird
- (durch ein Komma getrennt) and den Inhalt der Variable angeh"angt.
- Ein Beispiel:
-
- \begin{verbatim}
- addenv PATH $HOME
- \end{verbatim}
-
- Nun w"urde auch das {\sf HOME}-Verzeichnis mit in die Suche nach
- externen Befehlen einbezogen.
-
- % ~~~~~~~~~~~~~~~
- \subsection{ALIAS}
- Syntax: ALIAS [\ [-d]\ {\em string1\/} {\em string2\/}
- ]
-
- Mit ALIAS kann man die Zeichenkette {\em string2}\/ der Zeichenkette
- {\em string1} zuweisen. D.h.,~ gibt man nach einer ALIAS-Zuweisung, nach
- obiger Syntax, in der Kommandozeile {\em string1}\/ ein, so versucht der
- CLI {\em string2}\/ auszuf"uhren. So bewirkt z.B.
-
- \begin{verbatim}
- alias d dir
- \end{verbatim}
-
- da\ss\ `d' als Befehl erkannt wird und wie der DIR-Befehl wirkt.
-
- Wird die `-d' ({\em delete}\/) Option angegeben, so wird die entsprechende
- Zeichenkette aus der Alias-Liste entfernt.
-
- \begin{verbatim}
- alias -d d
- \end{verbatim}
-
- macht also die eben gemachte Zuweisung r"uckg"angig.
-
- Wird ALIAS ohne Parameter angegeben, wird die Liste der definierten Befehle
- ausgegeben.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{BAUD}
- Syntax: BAUD {\em baudrate},{\em word\_size},{\em parity},{\em stop\_bits}
-
- Mit dem BAUD-Befehl kann die serielle Schnittstelle des {\sf ST} (RS-232)
- konfiguriert werden. Zun"achst wird die Baudrate angegeben, dann die Anzahl
- der Datenbits, gefolgt von der Parit"at (n,o,e f"ur: none, odd, even Parit"at)
- und schlie\ss{}lich die Anzahl der Stopbits.
-
- Mit:
-
- \begin{verbatim}
- baud 300,8,n,1
- \end{verbatim}
-
- wird also z.B. die Schnittstelle auf 300 Baud, keine Parit"at, 8 Datenbits
- und ein Stopbit eingestellt.
-
- % ~~~~~~~~~~~~~~~
- \subsection{CD oder CHDIR}
- Syntax: CD [{\em pathname\/}]\ oder CHDIR [{\em pathname\/}]
-
- Mit CD ({\em change directory\/}) wird ein neues aktuelles Verzeichnis gew"ahlt.
- Normalerweise wird der angegebene Ordnername an den aktuellen Pfad angeh"angt.
- Die Abk"urzung `..' bezieht sich auf das n"achste "ubergeordnete Verzeichnis.
- Ist der aktuelle Pfad z.B.~{\tt C:\bsl TEMP\bsl COMP\bsl } und wird das
- Kommando `{\tt cd ..}' eingegeben, so wechselt das aktuelle Verzeichnis auf
- {\tt C:\bsl TEMP\bsl }.
- Es kann aber auch ein kompletter neuer Pfad eingegeben werden,
- z.B.~`{\tt cd e:\bsl }' oder `{\tt cd a:\bsl test\bsl }'.
- Wird kein Parameter angegeben, so wechselt CD in das {\sf HOME}-Verzeichnis.
-
- Der CLI bietet hier dem Benutzer die M"oglichkeit, Pfadnamen mittels Wildcards
- anzugeben.
- Es werden einfach die signifikanten Zeichen eines Pfadnamens, gefolgt vom
- Asterisken--Zeichen (`$\ast$') angegeben. Der CLI erg"anzt dann zum
- vollst"andigen Pfadnamen. Angenommen das aktuelle Verzeichnis sei {\tt C:\bsl }
- und es gibt ein Unterverzeichnis {\tt \bsl SOURCE\bsl }, in welches man
- wechslen m"ochte. Dann w"urde man vielleicht folgenden Befehl verwenden:
-
- \begin{verbatim}
- cd sou*
- \end{verbatim}
-
- Damit wird der CLI in das Verzeichnis \verb"C:\SOURCE\TEST\" wechseln.
-
- % ~~~~~~~~~~~~~~~
- \subsection{CHMOD}
- Syntax: CHMOD [$+\mid-$] [r$\mid$h$\mid$s$\mid$a ] {\em filename}
-
- Mit diesem Befehl k"onnen die Dateiattribute ver"andert werden, "ahnlich wie
- LOCK/UNLOCK etc. Jedes einzelne Attribut kann mit einem Befehl gezielt
- gesetzt oder gel"oscht werden, z.B.:
-
- \begin{verbatim}
- chmod +r-sh test.txt
- \end{verbatim}
-
- setzt das {\em read-only\/} Attribut und l"oscht die {\em system\/} und
- {\em hidden\/} Attribute, und wirkt so wie
-
- \begin{verbatim}
- lock test.txt
- hide test.txt
- \end{verbatim}
-
- % ~~~~~~~~~~~~~~~
- \subsection{CLICK}
- Syntax: CLICK [ON$\mid$OFF]
-
- CLICK OFF schaltet den Tastaturklick ab, CLICK ON schaltet ihn wieder ein.
- % ~~~~~~~~~~~~~~~
- \subsection{CLS}
- Syntax: CLS
-
- Der Befehl CLS ({\em clear screen\/}) l"oscht den Bildschirm. Es werden dazu
- die Terminalsequenzen eines {\sf DEC} VT-52 Terminals verwendet
- (also: ESC--H--ESC--J).
-
- % ~~~~~~~~~~~~~~~
- \subsection{COPY oder CP}
- Syntax: \parbox[t]{6cm}{
- COPY \hfill [-ns]\ {\em pathname}\/
- [{\em pathname\/}] \linebreak
- CP \hfill [-ns]\ {\em pathname}\/
- [{\em pathname\/}]}
- \parbox[t]{2cm}{oder}
-
- Mit dem Befehl COPY, bzw.~CP kann eine Kopie einer Datei in einem an\-deren
- Verzeichnis oder Laufwerk angelegt werden. Hierbei sind Wildcards erlaubt.
- Ist im Zielpfad bereits eine Datei gleichen Namens vorhanden, fragt der
- CLI nach, ob diese gel"oscht werden soll, oder ob man die Kopieranweisung
- abbrechen will. Wird kein Zielpfad angegeben, so ist der aktuelle Pfad
- Zielpfad der Operation. Das Dateidatum bleibt hierbei erhalten. Um die Kopie mit
- dem aktuellen Systemdatum zu versehen, siehe TOUCH Befehl.
- Einige Beispiele:
-
- \begin{description}
- \item[{\tt COPY $\ast$.TXT A:\bsl}] \ \\
- kopiert alle Dateien, die auf {\tt .TXT} enden aus dem aktuellen
- Verzeichnis auf Laufwerk {\tt A:}
- \item[{\tt COPY $\ast$.TXT C:\bsl $\ast$.DOC}]\ \\
- kopiert alle Dateien, die auf {\tt .TXT} enden auf
- Laufwerk C und benennt sie gleichzeitig in {\tt .DOC} um.
- \item[{\tt COPY HALLO.TXT TEST.DOC}]\ \\
- legt eine Kopie der Datei {\tt HALLO.TXT} an und nennt sie {\tt TEST.DOC.}
- \end{description}
-
- Mit der Option `-n' ({\em no query\/}) wird die Nachfrage abgeschaltet, ob
- eine im Zielpfad schon vorhandene Datei gleichen Namens "uberschrieben werden
- soll oder nicht. Die Option \mbox{`-s'} ({\em silent\/}) bewirkt, da\ss\ der
- Kopiervorgang nicht auf dem Schirm mitprotokolliert wird.
-
- % ~~~~~~~~~~~~~~~
- \subsection{CTTY}
- Syntax: CTTY {\em device}
-
- Mit dem Befehl CTTY ({\em change TTY\/}) wird dem CLI mitgeteilt, da\ss\
- nun alle Ausgaben und Eingaben der internen Befehle "uber die serielle
- Schnittstelle ({\em device\/} ist dann {\tt AUX:}) oder "uber dir Konsole
- ({\em device\/} ist dann {\tt CON:}) abgewickelt werden sollen.
- Damit ist der CLI fernbedienbar ({\em remote modus\/}).
- Bei Betrieb "uber die serielle Schnittstelle wird ab Version 1.0t weiterhin
- die Ausgabe auf den Bildschirm ausgegeben.
- Der Remotebetrieb ist dabei von der Konsole aus abbrechbar.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{DATE}
- Syntax: DATE [-s]
-
- Mit dem DATE Befehl kann das Systemdatum abgefragt und gestellt werden. Nach
- Eingabe von DATE wird das aktuelle Datum ausgegeben. Nun kann ein neues Datum
- eingegeben werden. Wird stattdessen ein ung"ultiges Datum angegeben oder
- einfach nur die {\sf RETURN}-Taste bet"atigt, bleibt das Datum unver"andert.
- Bei Angabe der \mbox{`-s'} Option ({\em set\/}) wird das aktuelle Datum im Format
- \vskip.1cm
- \centerline{\em Wochentag\tt , \em Tag\tt . \em Monat \em Jahr}
-
- in die Environmentvariable {\sf DATE} geschrieben.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{DEL}
- Syntax: DEL [-qs]\ \{{\em filename\/}\}
-
- L"oscht die angegebene Datei. Es k"onnen auch Wildcards (`\verb"*"' oder
- `\verb"?"') angegeben werden, aber dabei ist Vorsicht geboten!
- Man l"oscht sich nur allzuleicht Daten, die man nicht l"oschen wollte!
- So l"oscht
-
- \begin{verbatim}
- del *.prg
- \end{verbatim}
-
- alle Dateien im aktuellen Verzeichnis, die die Extension `{\tt .PRG}'
- besitzen. Siehe hierzu auch unbedingt Abschnitt \ref{wildcards}.
- Gibt man jeden Namen einzeln an und/oder nutzt die `-q' Option ({\em query},
- Nachfrage), geht man auf Nummer sicher.
-
- DEL und seine Equivalente RM und ERA geben eine englische Meldung aus, was
- gel"oscht wird. Ist diese englische Meldung in einer Batchabarbeitung
- st"orend, so kann diese auch mit der \mbox{`-s'} Option ({\em silent\/}) unterdr"uckt
- werden.
-
- % ~~~~~~~~~~~~~~~
- \subsection{DELENV}
- Syntax: DELENV {\em varname}
-
- Mit diesem Befehl kann die Environmentvariable {\em varname\/} gel"oscht
- werden. Dieser Befehl stellt also das Komplement zu SETENV dar.
-
- % ~~~~~~~~~~~~~~~
- \subsection{DIR}
- Syntax: DIR [-aepw]\ [{\em pathname\/}]
-
- Der Inhalt des angegebenen Pfades, oder, wenn kein Pfad angegeben ist, der
- Inhalt der aktuellen Directories wird ausgegeben. Normalerweise werden
- Dateien, bei denen das {\em hidden\/}- oder {\em system\/}-Attribut gesetzt ist,
- nicht mit ausgegeben.
-
- Wird jedoch die `-a' Option ({\em all\/}) angegeben, so werden auch diese Dateien
- mit ausgegeben. Mit der `-e' Option ({\em extended\/}) werden auch die Attribute
- {\em read-only\/}, {\em system\/} und {\em hidden\/} mit ausgegeben.
- Ist das Attribut gesetzt, so erscheint der Buchstabe `r',`h' oder `s' und
- wenn das Attribut gel"oscht ist, erscheint ein `-'. Mit der `-p' Option
- ({\em pause\/}) wird auf einen Tastendruck gewartet, sobald eine volle Seite
- ausgegeben wurde. Mit der `-w' Option ({\em wide\/}) werden 6 Dateinamen pro Zeile
- ausgegeben, daf"ur aber ohne L"ange, Datum und Uhrzeit.
-
- % ~~~~~~~~~~~~~~~
- \subsection{DUMP}
- Syntax: DUMP [-s{\em hexoffset\/}]\ {\em filename}
-
- Dieser Befehl gibt einen Hexdump der angegebenen Datei aus. Wird als Option
- ein Offset angegeben, so wird die Datei erst ab diesem Offset ausgegeben.
- Beispiel:
-
- \begin{verbatim}
- dump -s2E test.txt
- \end{verbatim}
-
- % ~~~~~~~~~~~~~~~
- \subsection{ECHO}
- Syntax: ECHO [ON$\mid$OFF$\mid${\em string\/}]
-
- Die auf diesen Befehl folgende Zeile wird, normalerweise, auf dem Bildschirm
- ausgegeben. ECHO wird gerne in Batchdateien verwendet um Meldungen auf
- dem Bildschirm auszugeben. Man kann ihn aber auch dazu benutzen, um eine
- kleine Textdatei zu erstellen, und das geht so:
-
- Die erste Zeile der Batchdatei wird mit `\verb">"{\em dateiname}' in eine
- Datei umgeleitet. Alle weiteren Zeilen werden mit `\verb">>"{\em dateiname}'
- an die bestehende Datei angeh"angt.
- Dieses Verfahren ist allerdings ziemlich aufwendig und nur dann sinnvoll,
- wenn eine kleine Datei schnell erstellt werden soll und kein Texteditor
- zur Verf"ugung steht.
-
- Auch Sonderzeichen k"onnen mit ECHO ausgegeben werden. Dazu mu\ss\ anstelle
- des Sonderzeichens `\&{\em hh}' angegeben werden, wobei {\em hh\/} hierbei der
- Hexcode des Sonderzeichens ist.
-
- ECHO besitzt noch eine weitere Funktion. Mit ihr kann festgelegt werden, ob
- bei der Abarbeitung einer Batch-Datei die einzelnen Befehle ausgegeben werden
- oder nicht. Grundeinstellung ist ECHO OFF. Mit ECHO ON schaltet man die
- Ausgabe ein. Wird nur ECHO eingegeben, wird der aktuelle ECHO-Status abgefragt.
-
- % ~~~~~~~~~~~~~~~
- \subsection{ERA}
- Syntax: ERA [-qs]\ \{{\em filename\/}\}
-
- Ist equivalent zu DEL.
-
- % ~~~~~~~~~~~~~~~
- \subsection{EXIT}
- Syntax: EXIT
-
- Dieser Befehl beendet den CLI und kehrt zum aufrufenden Programm zur"uck, und
- das ist in der Regel das Desktop.
-
- % ~~~~~~~~~~~~~~~
- \subsection{FKEY}
- Syntax: FKEY [-e]\ F{\em number\/}\ $=$\ {\em text}
-
- Mit diesem Befehl kann einer der 10 Funktionstasten ein maximal 19 Zeichen
- langer Text zugewiesen werden, der bei Bet"atigung der entsprechenden Taste
- dann ausgegeben wird. Beispiel:
-
- \begin{verbatim}
- fkey F4=Hallo Welt
- \end{verbatim}
-
- Die `-e' Option ({\em execute\/}) erm"oglicht es, "uber Funktionstasten
- direkt Programme oder Batches auszuf"uhren. Beispiel:
-
- \begin{verbatim}
- fkey -e F10=gem uniterm
- \end{verbatim}
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{FORMAT}
- Syntax: FORMAT [A:$\mid$B:]\ [-s$\mid$-d$\mid$-dh]
- [-v{\em volumename\/}]\
-
- Es wird eine Diskette in Laufwerk {\tt A:} oder {\tt B:} formatiert.
- Die \mbox{`-s'} Option formatiert im Single-Sided (360K) Format und die `-d'
- Option im Double-Sided (720K) Format. Bei -dh wird die Diskette auf 1.44MB
- (Double sided, high density) formatiert, jedoch nur, wenn der {\sf ST}
- "uber ein HD-Laufwerk verf"ugt und entsprechend modifiziert worden ist.
- Die \mbox{`-v'} Option erm"oglicht es, der zu formatierenden Diskette den
- Namen {\em volumename\/} zu geben. Dies ist aber nachtr"aglich auch noch mit
- dem LABEL Befehl m"oglich.
-
- % ~~~~~~~~~~~~~~~
- \subsection{FRE}
- Syntax: FRE [{\em drive\/}]
-
- Gibt den Namen, den verf"ugbaren sowie den bereits belegten Speicherplatz
- des aktuellen Laufwerks aus.
- Es ist auch m"oglich eine Laufwerksspezifikation {\em drive\/} anzugeben, z.B.:
-
- \begin{verbatim}
- fre d:
- \end{verbatim}
-
- w"urde Namen, verf"ugbaren und belegten Speicherplatz von Laufwerk {\tt D:}
- ausgeben.
-
- % ~~~~~~~~~~~~~~~
- \subsection{GEM}
- Syntax: GEM {\em filename}
-
- Startet ein Programm, welches {\sf GEM}-Routinen benutzt. Es werden also der
- Mauszeiger eingeschaltet und der Bildschirm gel"oscht. {\em filename\/}
- sollte hierbei eine ausf"uhrbare Bin"ardatei sein.
-
- % ~~~~~~~~~~~~~~~
- \subsection{HEAD}
- Syntax: HEAD [-anzahl] [{\em filename\/}]
-
- Gibt die ersten paar Zeilen einer Textdatei aus. Normalerweise werden die
- ersten 10 Zeilen ausgegeben. Mit dem Anzahl-Parameter kann jedoch eine
- beliebige Zeilenzahl eingestellt werden. Wird kein Dateiname angegeben,
- kann HEAD als Filter verwendet werden, d.h.~er bezieht seine Eingabe durch
- eine Pipe von einem anderen Programm.
-
- % ~~~~~~~~~~~~~~~
- \subsection{HELP}
- Syntax: HELP
-
- Mit diesem Befehl wird eine "Ubersicht der CLI-Befehle ausgegeben.
- Ein Dr"ucken der {\sf HELP} Taste hat die gleiche Wirkung.
-
- % ~~~~~~~~~~~~~~~
- \subsection{HIDE}
- Syntax: HIDE [-s] \{{\em filename\/}\}
-
- Bei den angegebenen Dateien werden die {\em hidden\/}- und
- {\em system\/}-Attribute gesetzt.
- Damit sind diese Dateien (in {\sf TOS}-Versionen ab Blitter-{\sf TOS})
- vom Desktop aus nicht mehr sichtbar. Damit diese Dateien vom DIR Befehl
- erkannt werden, mu\ss\ beim DIR Befehl die `-a' Option angegeben werden.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
- % ~~~~~~~~~~~~~~~
- \subsection{HISTORY / !}
- Syntax: HISTORY / !{\em number\/} / !{\em string}
-
- Gibt die letzten 20 Befehle auf dem Bildschirm aus. Es ist nun m"oglich,
- einen der in der History gespeicherten Befehle anzuw"ahlen. Und zwar:
-
- \begin{description}
-
- \item[Cursortasten]\ \\
- Mit den Cursortasten `Pfeil-hoch' und `Pfeil-runter' werden die
- im history-Puffer gespeicherten Befehle bei jedem Tastendruck in
- der Kommandozeile dargestellt und k"onnen dann editiert oder einfach
- noch einmal ausgef"uhrt werden.
-
- \item[direkte Wahl]\ \\
- Die direkte Wahl bietet folgende zwei M"oglichkeiten:
-
- \begin{itemize}
- \item !{\em number\/} w"ahlt den Befehl an, der an der Stelle
- {\em number\/} im history-Puffer steht. Also beispielsweise
-
- \begin{verbatim}
- C:> history
- 1: dir
- 2: cp a:\hallo c:\
- 3: history
- C:> !1
- \end{verbatim}
-
- w"urde den Befehl DIR ausf"uhren.
-
- \item !{\em string\/} w"ahlt den ersten Befehl im history-Puffer an,
- der {\em string\/} als Teilwort enth"ahlt. Um bei obigem Beispiel zu
- bleiben, w"urde {\tt !cp} den Befehl Nummer~2 im history-Puffer
- ausf"uhren, also
- \begin{verbatim}
- cp a:\hallo c:\
- \end{verbatim}
-
- \end{itemize}
-
- \end{description}
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{HSHAKE}
- Syntax: HSHAKE [XON$\mid$RTS$\mid$NONE]
-
- HSHAKE stellt das Protokoll der seriellen Schlittstelle des {\sf ST}'s ein.
- Wird kein Parameter oder NONE angegeben, so wird das Handshake abgeschaltet,
- bei XON schaltet der CLI den {\sf ST} auf XON/XOFF-Protokoll um, und bei RTS
- auf RTS/CTS, was aber leider in "alteren {\sf TOS}-Versionen nicht
- funktioniert.
-
- % ~~~~~~~~~~~~~~~
- \subsection{IGNORE}
- Syntax: IGNORE {\em command}
-
- Mit dem IGNORE-Befehl kann man erzwingen, da\ss\ ein Befehl von
- Diskette bzw.~Festplatte geladen wird, auch wenn bereits ein eingebauter
- Befehl gleichen Namens vorhanden ist.
-
- \begin{verbatim}
- ignore dir
- \end{verbatim}
-
- w"urde bewirken, da\ss\ sich der CLI so verh"alt, als w"are der DIR-Befehl
- nicht eingebaut. Daraufhin sucht er dann die {\sf PATH}-Variable nach einem
- Programm namens {\tt DIR.TTP}, {\tt DIR.PRG} usw.~ab.
- Siehe dazu auch Abschnitt \ref{revive}.
-
- % ~~~~~~~~~~~~~~~
- \subsection{INVERT}
- Syntax: INVERT
-
- Invertiert den Bildschirm, also wei\ss{}e Buchstaben auf schwarzem Grund und
- umgekehrt.
-
- % ~~~~~~~~~~~~~~~
- \subsection{LABEL}
- Syntax: LABEL {\em volumename}
-
- Dem aktuellen Laufwerk wird der Name {\em volumename} gegeben.
-
- % ~~~~~~~~~~~~~~~
- \subsection{LOCK}
- Syntax: LOCK [-s] \{{\em filename\/}\}
-
- Bei der angegebenen Datei wird das {\em read-only\/} Attribut gesetzt.
- Danach kann diese Datei nur noch gelesen, aber nicht mehr beschrieben werden.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
- % ~~~~~~~~~~~~~~~
- \subsection{LOGCNT}
- Syntax: LOGCNT
-
- Normalerweise bricht der CLI nach 3 Login-Versuchen ab und kehrt zu dem
- aufrufenden Programm zur"uck. Der {\sf LOGCNT} (Continuous Login) bewirkt, da\ss\
- der Benutzer beliebig viele Versuche hat, sich zu identifizieren. Dadurch
- wird auch bei Fehlversuchen nicht zum aufrufenden Programm zur"uckgekehrt.
- Der CLI kann damit dazu dienen, den Computer `abzuschlie\ss{}en'; hierzu
- wird der CLI z.B.~so installiert, da\ss\ er nach dem Einschalten des Computers
- immer ausgef"uhrt wird und in {\tt autoexec.bat} der {\sf LOGCNT}
- Befehl, gefolgt von {\sf LOGIN} steht. Aber dann das Passwort nicht vergessen!
-
- % ~~~~~~~~~~~~~~~
- \subsection{LOGIN}\label{login}
- Syntax: LOGIN
-
- Mit dem LOGIN Befehl ist es m"oglich, mehreren Benutzern eigene
- CLI-Um\-gebungen (also Environments) bereitzustellen.
-
- Dabei wird jedem Benutzer Benutzername, Passwort, voller Name und ein
- {\sf HOME} Directory zugewiesen. Diese Benutzerdaten werden in einer Datei
- {\tt PASSWD} festgelegt. Der CLI sucht diese Datei in dem Directory,
- welches in der Environmentvariablen {\sf LOGIN} angegeben ist.
- Bevor der Befehl LOGIN eingegeben wird, sollte also diese Variable
- entsprechend gesetzt werden.
-
- Nach Eingabe von LOGIN fordert der CLI zur Eingabe des Benutzernamen auf.
- Ist der Benutzername in der {\tt PASSWD}-Datei nicht eingetragen, so hat der
- Benutzer drei Versuche einen g"ultigen Benutzernamen einzugeben. Ist dies
- nicht geschehen, so wird der CLI beendet und zum aufrufenden Programm
- zur"uckgekehrt.
-
- Ist der Benutzer eingetragen, so wird nach dem Passwort gefragt. Ist kein
- Passwort vorhanden, gen"ugt Bet"atigung der {\sf RETURN}-Taste. Wurde das
- g"ultige Passwort eingegeben, so werden die Environmentvariablen {\sf USER}
- und {\sf HOME} entsprechend gesetzt, in das entsprechende {\sf HOME}-Directory
- gewechselt und dort die Datei {\tt LOGIN.BAT} ausgef"uhrt. Au\ss{}erdem wird
- die History gel"oscht. In der Datei {\tt LOGIN.BAT} kann sich so jeder
- Benutzer seine eigenen Voreinstellungen sichern.
-
- Aufbau der {\tt PASSWD}-Datei:
-
- \vskip.4cm
- \centerline{
- {\em user},{\em password},{\em uid},{\em gid},{\em username},
- {\em home\_directory}[,{\em default-shell}]\/ CR/LF}
- \vskip.2cm
-
- Ein neuer Usereintrag k"onnte dann etwa so aussehen:
- \nopagebreak
-
- \begin{verbatim}
- SuperUser,,0,0,Peter Meier,e:\super\,c:\command.prg
- \end{verbatim}
-
- Beim {\em user\/}, also dem Namen unter dem sich ein Benutzer eingelogged
- hat und welcher in der Environmentvariablen {\sf USER} gespeichert wird,
- wird Gro\ss{}- und Kleinbuchstaben unterschieden, ebenso beim {\em password\/}.
- Das Passwort wird verschl"usselt abgespeichert und kann nur mit dem
- PASSWD-Befehl ge"andert werden.
- {\em uid\/} und {\em gid\/} sind ganze Zahlen und werden vom CLI ignoriert,
- m"ussen aber aus Kompatibilit"atsgr"unden vorhanden sein.
- {\em username\/} ist der volle Benutzername, der in der Environmentvariablen
- {\sf USERNAME} gespeichert wird. Die Environmentvariable {\sf HOME} wird mit
- {\em home\_directory\/} belegt.
- Soll nach dem login nicht der CLI gestartet werden, sondern eine andere Shell
- oder ein anderes Programm, so kann noch optional {\em default-shell\/} angegeben
- werden.
- % ~~~~~~~~~~~~~~~
- \subsection{LS}
- Syntax: LS [-aep]\ [{\em pathname\/}]
-
- Gleiche Funktion wie DIR, nur mit Voreinstellung Option `-w' gesetzt.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{LTTY}
- Syntax: LTTY
-
- Der Befehl LTTY ({\em lock TTY\/}) erm"oglicht eine Verriegelung der
- Tastatur. Der Benutzer wird nach einem Passwort gefragt und mu\ss\ dieses
- dann zur Sicherheit noch einmal eingeben.
- Die Tastatur l"a\ss{}t sich nun nur noch durch Eingabe dieses Passwortes
- oder nat"urlich durch einen Reset des Rechners wieder entriegeln.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{MAN}
- Syntax: MAN [{\em level\/}]\/ {\em command}
-
- Es wird die Datei \verb"command.*" aus einem der Verzeichnisse,
- welche in der Environmentvariablen {\sf MAN} gespeichert sind, ausgegeben.
- Man kann sich so also ein oder mehrere Directories mit Hilfstexten
- (ASCII-codiert) anlegen, die jeweils die Endung {\tt .MAN} tragen k"onnen.
- Wird dabei die optionale Zahl {\em level\/} angegeben, so sucht der CLI nach
- einer Extension, die mit dieser Zahl beginnt. Dabei darf sich {\em level\/}
- im Bereich null bis sieben bewegen. So k"onnte die Beschreibung f"ur
- den {\sf C}-Befehl {\sf strcpy()} etwa {\tt STRCPY.3C} hei\ss{}en. Dabei steht
- die 3 f"ur Level 3 und das `C' f"ur die Programmiersprache {\sf C}.
-
- Man k"onnte also den Utilities und anderen Programmen Level 1, den
- Betriebssystemaufrufen den Level 2 und Bibliotheksfunktionen verschiedener
- Programmiersprachen den Level 3 zuordnen, wobei der drei noch ein Kennbuchstabe
- f"ur die Programmiersprache nachgestellt wird.
-
- Manchmal kann es sinnvoll sein, mehrere Hilfstexte in einer Datei abzulegen,
- die aber unter verschiedenen Namen angesprochen werden soll. So k"onnte man
- alle Stringbefehle in einer Datei {\tt STRING.3C} ablegen. Nun soll diese Datei
- auch unter den Namen {\tt strcpy}, {\tt strcmp}, {\tt strcat} u.s.w.~angesprochen werden.
- Dazu wird eine Datei {\tt MAN.IDX} im Hilfstextdirectory angelegt, die pro Zeile
- einen Namen einer Datei zuordnet. Dabei beginnt eine Zeile mit dem Namen,
- unter dem die Datei angesprochen werden soll. Dann folgen ein oder
- mehrere Leerzeichen und schlie\ss{}lich der Dateiname.
- Die Datei k"onnte also z.B.~so aussehen:
-
- \begin{verbatim}
- strcpy string
- strcmp string
- strcat string
- fopen gemfile
- fcreate gemfile
- \end{verbatim}
-
- Eine solche Indexdatei kann in jedem der in der {\sf MAN} Environmentvariablen
- abgelegten Directories angelegt werden. Dabei bezieht sich jeder Dateiname
- auf das jeweilige Directory!
-
- Normalerweise wird die Textdatei durch den internen MORE Befehl ausgegeben.
- Es kann dazu jedoch auch z.B.~ein Programm benutzt werden. Dazu wird in
- der {\sf PAGER} Variablen der Name des Befehls abgelegt, der statt MORE die
- Datei ausgeben soll.
-
- % ~~~~~~~~~~~~~~~
- \subsection{MFREE}
- Syntax: MFREE
-
- Dieser Befehl gibt den aktuell verf"ugbaren Hauptspeicherplatz aus.
-
- % ~~~~~~~~~~~~~~~
- \subsection{MKDIR}
- Syntax: MKDIR {\em dirname}
-
- Um einen neuen Ordner {\em dirname\/} anzulegen verwendet man der MKDIR Befehl.
-
- \begin{verbatim}
- mkdir TEST
- \end{verbatim}
-
- legt einen Ordner mit Namen {\tt TEST} an.
-
- % ~~~~~~~~~~~~~~~
- \subsection{MORE}
- Syntax: MORE \{{\em filename\/}\}
-
- MORE ist ein Ausgabebefehl, der Dateien seitenweise auf dem Bildschirm
- anzeigt, und ausgibt, wieviel Prozent der Datei schon ausgegeben sind.
- Mit der Taste `b' kann zur"uckgebl"attert werden, jede andere Taste
- bl"attert vorw"arts. Mit der Taste `n' wird, wenn mehrere Dateien
- ausgegeben werden sollen, die aktuelle Ausgabe abgebrochen und
- mit der n"achsten Datei fortgefahren. Mit Control-C oder `q' kann jederzeit
- die Ausgabe abgebrochen werden.
-
- Wird kein Dateiname angegeben, so liest MORE von `stdin', d.h.~es kann
- mit einer Pipe die Ausgabe eines Programmes als Eingabe von MORE
- verwendet werden.
-
- % ~~~~~~~~~~~~~~~
- \subsection{MOVE oder MV}
- Syntax: \parbox[t]{6.1cm}{
- MOVE \hfill [-ns]\ {\em pathname\/}
- [{\em pathname\/}] \linebreak
- MV \hfill [-ns]\ {\em pathname\/}
- [{\em pathname\/}]}
- \parbox[t]{2cm}{oder}
-
-
- Bewirkt exakt dasselbe wie COPY, jedoch wird die Quelldatei nach dem
- Kopiervorgang gel"oscht. Die Datei(en) werden also verschoben. Die Option
- \mbox{`-s'} ({\em silent\/}) bewirkt, da\ss\ dieser Vorgang nicht auf dem Schirm
- mitprotokolliert wird.
-
- % ~~~~~~~~~~~~~~~
- \subsection{MS}
- Syntax: MS [ON$\mid$OFF]
-
- MS ON aktiviert den Mauszeiger. MS OFF ist das Komplement zu MS ON.
-
- % ~~~~~~~~~~~~~~~
- \subsection{PASSWD}
- Syntax: PASSWD
-
- Mit diesem Befehl kann man sein Passwort "andern. Die Benutzerf"uhrung ist
- selbsterkl"arend.
-
- % ~~~~~~~~~~~~~~~
- \subsection{PATH oder PWD}
- Syntax: PATH oder PWD
-
- Mit diesem Befehl wird das aktuelle Verzeichnis ausgegeben.
-
- % ~~~~~~~~~~~~~~~
- \subsection{POPD}
- Syntax: POPD
-
- Ein Pfad wird vom Pfadstapel geholt und
- zum aktuellen Pfad gemacht. Siehe hierzu auch Abschnitt
- \ref{pushd}.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{PRINTENV}
- Syntax: PRINTENV
-
- Gibt die Namen aller Environmentvariablen und ihren Inhalt auf dem Bildschirm
- aus.
-
- % ~~~~~~~~~~~~~~~
- \subsection{PROMPT}\label{prompt}
- Syntax: PROMPT [{\em string\/}]
-
- Nach dem Starten meldet sich der CLI normalerweise mit einem Prompt, der
- aus dem aktuellen Verzeichnis, und einem `$>$'-Zeichen aufgebaut ist
- ({\sf MS-DOS} l"asst gr"ussen). Mit dem PROMPT-Befehl kann nun dieser
- Prompt umdefiniert werden. Der angegebene {\em string\/} wird unver"andert
- als Prompt ausgegeben, bis auf einige speziellen Zeichenkombinationen,
- die in Tabelle \ref{prompts} aufgef"uhrt sind.
- \nopagebreak
-
- \begin{table}
- \begin{center}
- \begin{tabular}{lcl}
- \&n &:& aktuelles Laufwerk\\
- \&p &:& aktueller Pfad\\
- \&d &:& Datum\\
- \&t &:& Zeit\\
- \&v &:& Version\\
- \&g &:& $>$\\
- \&l &:& $<$\\
- \&q &:& $=$\\
- \&h &:& Backspace\\
- \&\_ &:& CR/LF\\
- \&e &:& Escape\\
- \&\& &:& Ampersand-zeichen\\
- \&m &:& Dollar (MONEY)-Zeichen\\
- \&u &:& $|$\\
- \&! &:& aktuelle Zeilennummer\\
- \end{tabular}
- \end{center} \caption{\label{prompts} Sonderzeichen im Prompt}
- \end{table}
-
- Einige dieser Zeichen k"onnten nicht direkt eingegeben werden oder h"atten
- f"ur den CLI eine besondere Bedeutung, so w"urde das `$>$' als Umlenkung
- erkannt werden. Wenn daher im Prompt das `$>$' erscheinen soll, so wird an
- seiner Stelle `{\tt \&g}' im Promptstring eingegeben.
- Mit
-
- \begin{verbatim}
- prompt &p&g
- \end{verbatim}
-
- wird immer der aktuelle Pfad, gefolgt vom `$>$'-Zeichen als Prompt
- ausgegeben.
-
- PROMPT ohne Argument stellt wieder den default Prompt ein, d.h.~so, wie er
- nach dem Einschalten war.
-
- % ~~~~~~~~~~~~~~~
- \subsection{PUSHD}\label{pushd}
- Syntax: PUSHD [{\em pathname\/}]
-
- Bef"ordert den angegebenen Pfad auf den Pfadstapel.
- Der Pfadstapel fa\ss{}t max.~16 Pfade. Wird PUSHD ohne
- Argument aufgerufen, so wird der aktuelle Pfad abgelegt.
-
- % ~~~~~~~~~~~~~~~
- \subsection{RENAME oder REN}
- Syntax: RENAME oder REN [-ns]\ {\em pathname\/} {\em filename}
-
- Mit diesem Befehl kann eine oder mehrere Dateien umbenannt werden. Ist schon
- eine Datei gleichen Namens vorhanden, so wird gefragt, ob diese gel"oscht
- werden soll, oder ob die Quelldatei nicht umbenannt werden soll.
- Beispiel:
-
- \begin{verbatim}
- rename *.txt *.doc
- \end{verbatim}
-
- "andert die Endungen aller {\tt .TXT} Dateien im aktuellen Verzeichnis in
- {\tt .DOC} um.
-
- Mit der Option `-n' ({\em no query\/}) wird die Nachfrage abgeschaltet, ob
- eine im Zielpfad schon vorhandene Datei gleichen Namens gel"oscht werden
- soll oder nicht.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
-
- % ~~~~~~~~~~~~~~~
- \subsection{REVIVE} \label{revive}
- Syntax: REVIVE {\em command}
-
- Mit diesem Befehl kann ein Befehl, der mit dem IGNORE-Befehl abgeschaltet
- wurde, wieder {\em zum Leben erweckt\/} werden.
-
- % ~~~~~~~~~~~~~~~
- \subsection{RM}
- Syntax: RM [-qs]\ {\em filename\/} [{\em filename\/}]
-
- Siehe dazu DEL.
-
- % ~~~~~~~~~~~~~~~
- \subsection{RMDIR}
- Syntax: RMDIR [-r$\mid$-a] {\em pathname}
-
- Mit diesem Befehl kann ein Ordner gel"oscht werden. Dabei mu\ss\ der Ordner
- mit komplettem Pfad angegeben werden.
- Der Order mu\ss\ im Normalfall leer sein. Ist sich der Benutzer sicher, da\ss\
- ein kompletter Ordner gel"oscht werden soll, so kann er unter Angabe der
- Option `-r' ({\em recursive\/}) oder `-a' ({\em all\/}) jeden beliebigen
- Ordner l"oschen.
-
- % ~~~~~~~~~~~~~~~
- \subsection{SETENV}
- Syntax: SETENV {\em varname\/} [{\em string\/}]
-
- Mit diesem Befehl kann einer Environmentvariablen ein neuer Inhalt,
- {\em string\/}, zugewiesen werden. Name und Inhalt sind dabei entweder durch ein
- Leerzeichen oder ein `$=$'-Zeichen getrennt. Man kann nat"urlich auch ohne
- SETENV einer Variablen einen Inhalt zuweisen.
-
- \begin{verbatim}
- setenv TEMP Hallo
- \end{verbatim}
-
- und
-
- \begin{verbatim}
- TEMP=Hallo
- \end{verbatim}
-
- sind also vollkommen gleichwertig. Wird SETENV ohne Parameter aufgerufen, so
- werden alle vorhandenen Variablen ausgegeben (genau wie beim PRINTENV-Befehl).
-
- % ~~~~~~~~~~~~~~~
- \subsection{SLEEP}
- Syntax: SLEEP
-
- Mit diesem Befehl l"asst sich der Bildschirm dunkelschalten. Dies ist sinnvoll,
- wenn man die Arbeit mit dem CLI f"ur l"angere Zeit unterbricht, aber den
- Rechner bzw. Monitor nicht abschalten m"ochte. Ein zuvor eingegebener SLEEP
- Befehl schont dann die Bildr"ohre des Monitors. Der Schirm wird durch
- Bet"atigen einer beliebigen Taste wieder eingeschaltet.
-
- % ~~~~~~~~~~~~~~~
- \subsection{STEP}
- Syntax: STEP {\em step\_rate}
-
- Der STEP-Befehl stellt eine neue Steprate f"ur die beiden
- Laufwerke {\tt A:} und {\tt B:} ein. Erlaubte Werte f"ur {\em step\_rate\/}
- sind: 2, 3, 6 und 12. Die Angabe erfolgt in Millisekunden.
-
- % ~~~~~~~~~~~~~~~
- \subsection{TEE}
- Syntax: TEE [-a] {\em filename}
-
- Der Inhalt einer Pipe wird in eine Datei {\em filename} abgezweigt, die
- Funktion der Pipe dadurch nicht beeintr"achtigt. Mit der `-a' Option wird
- an eine bestehende Datei angeh"angt.
-
- % ~~~~~~~~~~~~~~~
- \subsection{TERM}
- Syntax: TERM
-
- TERM aktiviert den Terminalmodus. Dieser entspricht dem des von Atari
- gelieferten Emulator-ACC's, welches einen einfachen {\sf DEC} VT-52
- Terminalemulator zur Kommunikation "uber die serielle Schnittstelle darstellt.
- Alle von der Tastatur eingegebenen Zeichen werden also an die serielle
- Schnittstelle gesendet. Ggf.~mu\ss\ die Baudrate mit dem BAUD-Befehl
- eingestellt werden. Nach dem Einschalten befindet sich der Rechner
- normalerweise im 9600 Baud Modus. Verlassen wird der Terminalmodus mit
- der {\sf HELP} oder {\sf UNDO} Taste. Bei Remotebetrieb ist der {\sf TERM}
- Befehl nicht sinnvoll, und ist daher deaktiviert.
-
- % ~~~~~~~~~~~~~~~
- \subsection{TIME}
- Syntax: TIME [-s]
-
- Der TIME-Befehl dient dazu, die Systemzeit abzufragen oder zu stellen. Nach
- Eingabe des Befehls wird die aktuelle Zeit ausgegeben. Dann kann eine neue
- Zeit eingegeben werden. Ist die eingegebene Zeit ung"ultig oder wird einfach
- nur die {\sf RETURN}-Taste bet"atigt, so bleibt die urspr"ungliche Zeit
- unver"andert. Bei Angabe der \mbox{`-s'} Option ({\em set\/}) wird die aktuelle Zeit
- in die Environmentvariable {\sf TIME} geschrieben.
-
- % ~~~~~~~~~~~~~~~
- \subsection{TOUCH}
- Syntax: TOUCH [-s] \{{\em filename\/}\}
-
- TOUCH aktualisiert das Dateidatum also, das Erstellungsdatum einer Datei.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
- % ~~~~~~~~~~~~~~~
- \subsection{TYPE}
- Syntax: TYPE {\em filename}
-
- Gibt die angegebene Datei aus. Die Ausgabe kann z.B.~in eine Datei
- umgelenkt werden (wie bei den meisten anderen Befehlen auch).
-
- % ~~~~~~~~~~~~~~~
- \subsection{UNALIAS}
- Syntax: UNALIAS {\em name}
-
- Ein Eintrag wird aus der ALIAS-Liste entfernt. Bewirkt dasselbe wie
- ALIAS mit der `-d'-Option.
-
- % ~~~~~~~~~~~~~~~
- \subsection{UNHIDE}
- Syntax: UNHIDE [-s] \{{\em filename\/}\}
-
- Bei den angegebenen Dateien werden die Attribute {\em hidden\/} und {\em system\/}
- gel"oscht.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
- % ~~~~~~~~~~~~~~~
- \subsection{UNLOCK}
- Syntax: UNLOCK [-s] \{{\em filename\/}\}
-
- Bei den angegebenen Dateien wird das {\em read-only\/} Attribut gel"oscht.
- Die \mbox{`-s'} Option ({\em silent\/}) schaltet die Vollzugsmeldung ab.
-
- % ~~~~~~~~~~~~~~~
- \subsection{VERSION oder VER}
- Syntax: VERSION oder VER
-
- Gibt die Versionsnummer des CLI und {\sf TOS}-ROMs aus.
-
- % ~~~~~~~~~~~~~~~
- \subsection{WAIT}
- Syntax: WAIT [-s$\mid$-t {\em time\/}$\mid$-d {\em date\/}]
-
- Dieser Befehl gibt eine englische Meldung aus und wartet auf Bet"atigung
- der {\sf RETURN}-Taste.
- WAIT wird sinnvollerweise nur in Batchdateien verwendet. Ist die englische
- Meldung in einer Batchabarbeitung st"orend, so kann diese auch mit der
- \mbox{`-s'} Option ({\em silent\/}) unterdr"uckt werden.
- Bei Angabe der \mbox{`-t'} bzw.~\mbox{'-d'} Option wartet der CLI bis zur angegebenen
- Uhrzeit bzw.~zum angegebenen Datum. Das Format ist dasselbe wie bei den
- Befehlen TIME und DATE.
-
- % ~~~~~~~~~~~~~~~
- \subsection{WC}
- Syntax: WC [{\em filename\/}]
-
- Mit WC (Word Count) werden die Zeichen, Zeilen und Worte einer Textdatei
- gez"ahlt. Wird kein Dateiname angegeben, bezieht WC seine Eingabe von
- `stdin'. Damit kann WC seine Eingabe durch eine Pipe von einem anderen
- Programm beziehen.
-
- % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- \end{document}
-
- # E O F #
-
-
-